1. Field of the Invention
The present invention is generally directed toward mapping storage partitions of storage elements for host systems. More specifically, the present invention relates to abstracting storage partition mapping from the storage elements into host systems.
2. Discussion of Related Art
Large storage systems typically include storage elements that comprise either a single storage device or an array of storage devices. The individual storage devices are accessed by host systems via Input/Output (I/O) requests, such as read and write requests, through one or more storage controllers. A user accessing the disks through the host system views the multiple disks as a single disk. One example of a large storage system includes a Redundant Array Of Independent Disks (RAID) storage system that has one or more logical units (LUNs) distributed over a plurality of disks. Multiple LUNs are often grouped together in storage partitions. Each storage partition is typically private to a particular host system, thus, LUNs of a particular storage partition are also private to the particular host system. Examples of the host systems include computing environments ranging from individual personal computers and workstations to large networked enterprises encompassing numerous, heterogeneous types of computing systems. A variety of well-known operating systems may be employed in such computing environments depending upon the needs of particular users and enterprises. Disks in such large storage systems may include standard hard disk drives as often found in personal computers as well as other types of storage devices such as optical storage, semiconductor storage (e.g., Random Access Memory disks, or RAM disks), tape storage, et cetera.
Large storage systems have a finite capacity that may be scaled up or down by adding or removing disk drives as deemed necessary by the amount of needed storage space. However, since the capacity is finite, storage space of the storage system is limited to a maximum number of disks that can be employed by a particular storage system. Once the limit of disks is reached, storage space of the storage system can only be increased by replacement of the residing disks with disks that have more storage space, assuming the storage controller of the storage system allows higher capacity disks. Such a process is limited by disk technology advancements or by capabilities of the storage controller. However, many organizations demand larger storage capacity and cannot wait for these disk technology advancements or for changes to the storage controllers within the storage system.
One solution attempts to address the problem by employing multiple storage systems to increase the storage capacity. The storage capacity problem is, thus, simply solved through the scaling of storage space by the number of storage systems. However, the storage systems operate independently and, therefore, mandate that users access information of each storage system independently. As more storage capacity is employed, management of the information on multiple storage systems becomes cumbersome.
Organizations often demand increases to their storage capacity. For example, organizations that continually grow in size and technology have an ever-changing need to document and maintain information. These organizations also demand that the increases to their storage capacity be rapidly and easily implemented such that the stored information is rapidly accessible and flexibly configured for access within the organization. An unmanageable storage network of independent storage systems may impede or even prevent the management of the information stored in the storage systems. As evident from the above discussion, a need exists for improved structures and methods for managing data storage.